/**
 * 公司机构类-抽象类
 * @author liaosh
 * @date 2022-10-19 22:55
 */
public abstract class Company {
    String name;

    public Company(String name) {
        this.name = name;
    }

    /**
     * 添加子机构
     * @param company
     */
    public abstract void add(Company company);

    /**
     * 移除子机构
     * @param company
     */
    public abstract void remove(Company company);

    /**
     * 显示层级
     * @param depth 第几层，从 1 开始
     */
    public abstract void display(int depth);

    /**
     * 履行职责，不同的机构需履行不同的职责
     */
    public abstract void lineOfDuty();
}
